package com.example.rwq_test.anno.customAnno.scheduleLock;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * @Description 分布式锁注解
 *
 * @Author renweiqiang
 * @Date 2024/5/24 上午11:14
 */
@Documented
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface ScheduleLock {
    /**
     * 锁key
     */
    String key();
    /**
     * 尝试加锁时间
     */
    long waitTime();
    /**
     * 最长加锁时间
     */
    long leaseTime();
    /**
     * 时间单位
     */
    TimeUnit timeUnit() default TimeUnit.MILLISECONDS;
}
